package com.css.zfzx.fxpg.modules.vulnerability.province.service;

import com.alibaba.fastjson.JSONObject;
import com.css.zfzx.fxpg.modules.vulnerability.area.viewobjects.FxVulnerabilityAreaQueryParams;
import com.css.zfzx.fxpg.modules.vulnerability.province.repository.entity.FxVulnerabilityProvinceEntity;
import com.css.zfzx.fxpg.modules.vulnerability.province.viewobjects.FxVulnerabilityProvinceQueryParams;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author leon
 * @date 2020-11-10
 */

public interface FxVulnerabilityProvinceService {

    JSONObject queryFxVulnerabilityProvinces(FxVulnerabilityProvinceQueryParams queryParams, int curPage, int pageSize);

    List<FxVulnerabilityProvinceEntity> listFxVulnerabilityProvinces(FxVulnerabilityProvinceQueryParams queryParams);


    FxVulnerabilityProvinceEntity getFxVulnerabilityProvince(String id);

    FxVulnerabilityProvinceEntity saveFxVulnerabilityProvince(FxVulnerabilityProvinceEntity fxVulnerabilityProvince);

    FxVulnerabilityProvinceEntity updateFxVulnerabilityProvince(FxVulnerabilityProvinceEntity fxVulnerabilityProvince);

    void deleteFxVulnerabilityProvinces(List<String> ids);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    String importExcel(MultipartFile file);

    String exportExcel(FxVulnerabilityProvinceQueryParams queryParams, HttpServletResponse response);

    void saveOrUpdate(FxVulnerabilityProvinceEntity provinceEntity);

    List<FxVulnerabilityProvinceEntity> findFxVulnerabilityProvince(FxVulnerabilityProvinceQueryParams queryParams);

    void initialize();
}
